using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity.ModelConfiguration;

namespace ConsoleApplication11.Models.Mapping
{
    public class Coronary_angiography_ViewMap : EntityTypeConfiguration<Coronary_angiography_View>
    {
        public Coronary_angiography_ViewMap()
        {
            // Primary Key
            this.HasKey(t => t.CABI_ID);

            // Properties
            this.Property(t => t.CABI_ID)
                .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);

            this.Property(t => t.patient_id)
                .HasMaxLength(20);

            this.Property(t => t.create_by)
                .HasMaxLength(20);

            this.Property(t => t.CABI_Surgery)
                .HasMaxLength(20);

            this.Property(t => t.CABI_Assistant)
                .HasMaxLength(20);

            this.Property(t => t.CABI_Medication)
                .HasMaxLength(20);

            this.Property(t => t.Expr1)
                .HasMaxLength(20);

            this.Property(t => t.Expr2)
                .HasMaxLength(20);

            this.Property(t => t.Expr3)
                .HasMaxLength(20);

            this.Property(t => t.LVA_Diastolic_detail)
                .HasMaxLength(20);

            this.Property(t => t.LVA_Shrink_detail)
                .HasMaxLength(20);

            this.Property(t => t.LVA_Ejection_fraction_detail)
                .HasMaxLength(20);

            this.Property(t => t.LVA_Pressure_gradient)
                .HasMaxLength(20);

            this.Property(t => t.Expr5)
                .HasMaxLength(20);

            this.Property(t => t.Expr8)
                .HasMaxLength(20);

            this.Property(t => t.C_Complications_described)
                .HasMaxLength(30);

            this.Property(t => t.C_Emergency_revascularization)
                .HasMaxLength(30);

            this.Property(t => t.C_Sit_complications)
                .HasMaxLength(30);

            this.Property(t => t.C_Vessel_dissection)
                .HasMaxLength(30);

            this.Property(t => t.C_Hemodynamic_arrhythmia)
                .HasMaxLength(30);

            this.Property(t => t.C_Allergic_reactions)
                .HasMaxLength(30);

            this.Property(t => t.C_Intracoronary)
                .HasMaxLength(30);

            this.Property(t => t.C_Complication_Other)
                .HasMaxLength(30);

            this.Property(t => t.Expr9)
                .HasMaxLength(20);

            this.Property(t => t.Expr12)
                .HasMaxLength(20);

            this.Property(t => t.CA_Catheter)
                .HasMaxLength(20);

            this.Property(t => t.CA_Coronary_Cae_detail)
                .HasMaxLength(20);

            this.Property(t => t.CA_Bypass_graft)
                .HasMaxLength(20);

            this.Property(t => t.CA_Is_supply_vessels)
                .HasMaxLength(20);

            this.Property(t => t.Expr13)
                .HasMaxLength(20);

            this.Property(t => t.Expr16)
                .HasMaxLength(20);

            this.Property(t => t.CI_Lesion_morphology)
                .HasMaxLength(20);

            this.Property(t => t.CI_Narrow_detail)
                .HasMaxLength(50);

            this.Property(t => t.CI_Systolic_detail)
                .HasMaxLength(50);

            // Table & Column Mappings
            this.ToTable("Coronary_angiography_View");
            this.Property(t => t.CABI_ID).HasColumnName("CABI_ID");
            this.Property(t => t.patient_id).HasColumnName("patient_id");
            this.Property(t => t.follow_up_id).HasColumnName("follow_up_id");
            this.Property(t => t.create_time).HasColumnName("create_time");
            this.Property(t => t.create_by).HasColumnName("create_by");
            this.Property(t => t.CABI_Surgery).HasColumnName("CABI_Surgery");
            this.Property(t => t.CABI_Assistant).HasColumnName("CABI_Assistant");
            this.Property(t => t.CABI_Anesthesia).HasColumnName("CABI_Anesthesia");
            this.Property(t => t.CABI_Intubate).HasColumnName("CABI_Intubate");
            this.Property(t => t.CABI_Medication).HasColumnName("CABI_Medication");
            this.Property(t => t.CABI_Administration_Route).HasColumnName("CABI_Administration_Route");
            this.Property(t => t.CABI_Contrast_Agent).HasColumnName("CABI_Contrast_Agent");
            this.Property(t => t.CABI_Operating_time).HasColumnName("CABI_Operating_time");
            this.Property(t => t.CABI_Operating_time_detail).HasColumnName("CABI_Operating_time_detail");
            this.Property(t => t.CABI_Fluoroscopy_time).HasColumnName("CABI_Fluoroscopy_time");
            this.Property(t => t.CABI_Fluoroscopy_time_detail).HasColumnName("CABI_Fluoroscopy_time_detail");
            this.Property(t => t.LVA_ID).HasColumnName("LVA_ID");
            this.Property(t => t.Expr1).HasColumnName("Expr1");
            this.Property(t => t.Expr2).HasColumnName("Expr2");
            this.Property(t => t.Expr3).HasColumnName("Expr3");
            this.Property(t => t.Expr4).HasColumnName("Expr4");
            this.Property(t => t.LVA_Catheter).HasColumnName("LVA_Catheter");
            this.Property(t => t.LVA_Shape).HasColumnName("LVA_Shape");
            this.Property(t => t.LVA_Chambers_heart).HasColumnName("LVA_Chambers_heart");
            this.Property(t => t.LVA_LVSMD_Basal_segment_before).HasColumnName("LVA_LVSMD_Basal_segment_before");
            this.Property(t => t.LVA_LVSMD_Front_side_walls).HasColumnName("LVA_LVSMD_Front_side_walls");
            this.Property(t => t.LVA_LVSMD_Apical).HasColumnName("LVA_LVSMD_Apical");
            this.Property(t => t.LVA_LVSMD_Diaphragmatic_surface).HasColumnName("LVA_LVSMD_Diaphragmatic_surface");
            this.Property(t => t.LVA_LVSMD_Rear_side_walls).HasColumnName("LVA_LVSMD_Rear_side_walls");
            this.Property(t => t.LVA_Mitral_regurgitation).HasColumnName("LVA_Mitral_regurgitation");
            this.Property(t => t.LVA_Diastolic).HasColumnName("LVA_Diastolic");
            this.Property(t => t.LVA_Diastolic_detail).HasColumnName("LVA_Diastolic_detail");
            this.Property(t => t.LVA_Shrink).HasColumnName("LVA_Shrink");
            this.Property(t => t.LVA_Shrink_detail).HasColumnName("LVA_Shrink_detail");
            this.Property(t => t.LVA_Ejection_fraction).HasColumnName("LVA_Ejection_fraction");
            this.Property(t => t.LVA_Ejection_fraction_detail).HasColumnName("LVA_Ejection_fraction_detail");
            this.Property(t => t.LVA_Pressure_gradient).HasColumnName("LVA_Pressure_gradient");
            this.Property(t => t.C_ID).HasColumnName("C_ID");
            this.Property(t => t.Expr5).HasColumnName("Expr5");
            this.Property(t => t.Expr6).HasColumnName("Expr6");
            this.Property(t => t.Expr7).HasColumnName("Expr7");
            this.Property(t => t.Expr8).HasColumnName("Expr8");
            this.Property(t => t.C_Major_complications).HasColumnName("C_Major_complications");
            this.Property(t => t.C_Complications_described).HasColumnName("C_Complications_described");
            this.Property(t => t.C_Emergency_revascularization).HasColumnName("C_Emergency_revascularization");
            this.Property(t => t.C_Sit_complications).HasColumnName("C_Sit_complications");
            this.Property(t => t.C_Vessel_dissection).HasColumnName("C_Vessel_dissection");
            this.Property(t => t.C_Hemodynamic_arrhythmia).HasColumnName("C_Hemodynamic_arrhythmia");
            this.Property(t => t.C_Allergic_reactions).HasColumnName("C_Allergic_reactions");
            this.Property(t => t.C_Intracoronary).HasColumnName("C_Intracoronary");
            this.Property(t => t.C_Complication_Other).HasColumnName("C_Complication_Other");
            this.Property(t => t.CA_ID).HasColumnName("CA_ID");
            this.Property(t => t.Expr9).HasColumnName("Expr9");
            this.Property(t => t.Expr10).HasColumnName("Expr10");
            this.Property(t => t.Expr11).HasColumnName("Expr11");
            this.Property(t => t.Expr12).HasColumnName("Expr12");
            this.Property(t => t.CA_Catheter).HasColumnName("CA_Catheter");
            this.Property(t => t.CA_Coronary_artery_edge).HasColumnName("CA_Coronary_artery_edge");
            this.Property(t => t.CA_Coronary_Cae_detail).HasColumnName("CA_Coronary_Cae_detail");
            this.Property(t => t.CA_Coronary_Distributed).HasColumnName("CA_Coronary_Distributed");
            this.Property(t => t.CA_Bypass_graft).HasColumnName("CA_Bypass_graft");
            this.Property(t => t.CA_Is_supply_vessels).HasColumnName("CA_Is_supply_vessels");
            this.Property(t => t.CA_Graft_disease_location).HasColumnName("CA_Graft_disease_location");
            this.Property(t => t.CA_Angiography_diagnosis).HasColumnName("CA_Angiography_diagnosis");
            this.Property(t => t.CI_ID).HasColumnName("CI_ID");
            this.Property(t => t.Expr13).HasColumnName("Expr13");
            this.Property(t => t.Expr14).HasColumnName("Expr14");
            this.Property(t => t.Expr15).HasColumnName("Expr15");
            this.Property(t => t.Expr16).HasColumnName("Expr16");
            this.Property(t => t.CI_Coronary_lesions).HasColumnName("CI_Coronary_lesions");
            this.Property(t => t.CI_Specific_segments).HasColumnName("CI_Specific_segments");
            this.Property(t => t.CI_Lesion_morphology).HasColumnName("CI_Lesion_morphology");
            this.Property(t => t.CI_Narrow).HasColumnName("CI_Narrow");
            this.Property(t => t.CI_Narrow_detail).HasColumnName("CI_Narrow_detail");
            this.Property(t => t.CI_Lesions).HasColumnName("CI_Lesions");
            this.Property(t => t.CI_Lesions_aneurysm).HasColumnName("CI_Lesions_aneurysm");
            this.Property(t => t.CI_Muscle_bridge).HasColumnName("CI_Muscle_bridge");
            this.Property(t => t.CI_Systolic_oppressive).HasColumnName("CI_Systolic_oppressive");
            this.Property(t => t.CI_Systolic_detail).HasColumnName("CI_Systolic_detail");
        }
    }
}
